package cn.topevery.garden.framework.util;

import java.util.HashMap;
import java.util.Map;

/**
 * @author ：peng.tian
 * @date ：Created in 2021/10/12 14:51
 * @description：预警工具类
 */
public class WarningConfigUtil {
    /**
     * 判断数值是否满足对应的配置
     *
     * @param
     * @返回值
     * @创建人 peng.tian
     * @创建时间 2021/10/12
     */
    public static Boolean Judge(Double value, Double configValue, String configContent) throws Exception {
        Boolean result = false;
        //配置内容合法性检查,判断内容中是否存在或仅有一个比较描述
        String type = null;
        Map<String, String> comparisonConfig = new HashMap<String, String>() {
            {
                put("小于", "<");
                put("等于", "=");
                put("是否", "=");
                put("大于", ">");
            }
        };
        Boolean flag = false;
        for (String key :
                comparisonConfig.keySet()) {
            if (configContent.contains(key)) {
                if (type == null && !flag) {
                    type = comparisonConfig.get(key);
                    flag = true;
                } else {
                    throw new Exception("配置项内容有误,存在多个比较描述!");
                }
            }
        }

        if (type.equals("<")) {
            //是否小于
            if (value < configValue) {
                result = true;
            }
        } else if (type.equals("=")) {
            //是否等于
            if (value.equals(configValue)) {
                result = true;
            }
        } else if (type.equals(">")) {
            //是否大于
            if (value > configValue) {
                result = true;
            }
        } else {
        }
        return result;
    }
}
